﻿using System;
using System . Collections . Generic;
using System . Collections . ObjectModel;
using System . Linq;
using System . Text;
using System . Threading . Tasks;
using System . Xml . Linq;

namespace WenceyWang . RichMan4L . Maps
{
	public abstract class Area : Block
	{
		public long Id { get; set; }

		public List<Buffs . AreaBuff> Buffs { get; set; } = new List<Buffs . AreaBuff> ( );

		public abstract long MoneyCostWhenCrossed { get; }

		public abstract double BuildingResistance { get; }

		public AreaRoad Position { get; set; }

		public Players . Player Owner { get; set; }

		public Buildings . Building Building { get; set; }

		public abstract long Price { get; }

		public void Stay ( Players . Player player )
		{
			Building?.Stay ( player );
		}

		public override void UpdateView ( )
		{
		}

		public override void StartDay ( Calendars . GameDate nextDate )
		{
		}

		public abstract List<Buildings . BuildingType> AvailableBuilding ( );	

		public Area ( XElement resource ) : base ( resource )
		{

		}


	}
}
